import request from '@/utils/http'

export class BmslzService {
  // 新增监控模型
  static monitorModelAdd(params: Api.MonitorModel.Add) {
    return request.post<Api.MonitorModel.AddRes>({
      url: '/sys/monitorModel/add',
      params
      // showErrorMessage: false // 不显示错误消息
    })
  }
  // 新增监控模型
  static monitorModelEdit(params: Api.MonitorModel.Edit) {
    return request.post<Api.MonitorModel.AddRes>({
      url: '/sys/monitorModel/edit',
      params
      // showErrorMessage: false // 不显示错误消息
    })
  }
  // 监控模型详情
  static monitorModelQueryById(params: Api.MonitorModel.Id) {
    return request.get<Api.MonitorModel.QueryByIdRes>({
      url: '/sys/monitorModel/queryById',
      params
      // showErrorMessage: false // 不显示错误消息
    })
  }
  // 监控模型列表
  static monitorModelList(params: Api.MonitorModel.ListQuer) {
    return request.get<Api.MonitorModel.ListRes>({
      url: '/sys/monitorModel/list',
      params
      // showErrorMessage: false // 不显示错误消息
    })
  }
  // 监控模型tag列表
  static monitorModelTagList() {
    return request.get<any>({
      url: '/sys/monitorModel/tag/list',
      // showErrorMessage: false // 不显示错误消息
    })
  }
  // 监控模型删除
  static monitorModelDel(params: Api.MonitorModel.Id) {
    return request.del<any>({
      url: '/sys/monitorModel/delete',
      params
    })
  }
  // 新增告警模板
  static alarmModelAdd(params: Api.AlarmModel.Add) {
    return request.post<any>({
      url: '/sys/alarmModel/add',
      params
    })
  }
  // 修改告警模板
  static alarmModelEdit(params: Api.AlarmModel.Edit) {
    return request.post<any>({
      url: '/sys/alarmModel/edit',
      params
    })
  }
  // 告警模板列表
  static alarmModelList(params: Api.AlarmModel.ListQuer) {
    return request.get<any>({
      url: '/sys/alarmModel/list',
      params
    })
  }
  // 告警模板详情
  static alarmModelQueryById(params: Api.AlarmModel.Id) {
    return request.get<Api.AlarmModel.QueryByIdRes>({
      url: '/sys/alarmModel/queryById',
      params
    })
  }
  // 根据项目id和key查找告警规则
  static queryRuleByKey(params: any) {
    return request.get<any>({
      url: '/sys/alarmModel/queryRuleByKey',
      params
    })
  }
  // 告警模板删除
  static alarmModelDel(params: Api.AlarmModel.Id) {
    return request.del<any>({
      url: '/sys/alarmModel/delete',
      params
    })
  }
  // 项目列表查询
  static projectList(params: Api.Common.PaginatingSearchParams) {
    return request.get<any>({
      url: '/sys/project/list',
      params
    })
  }
  // 监控模型详情
  static projectDetail(params: Api.Project.Id) {
    return request.get<any>({
      url: '/sys/project/queryById',
      params
      // showErrorMessage: false // 不显示错误消息
    })
  }

  // 修改项目关联的告警模板
  static editProjectAlarmModel(params: any) {
    return request.post<any>({
      url: '/sys/project/edit/alarm-model',
      params
    })
  }
  // 获取元数据
  static queryProjectDatas(params: any) {
    return request.get<any>({
      url: '/sys/projectData/list',
      params
    })
  }
  // 查询单个测点历史数据
  static queryAttValueList(params: any) {
    return request.post<any>({
      url: '/sys/projectData/queryAttValueList',
      params
    })
  }
  // 获取告警历史数据
  static queryProjectAlarmDatas(params: any) {
    return request.get<any>({
      url: '/sys/projectAlarm/list',
      params
    })
  }
  // 获取用户列表
  static userList(params: any) {
    return request.get<any>({
      url: '/sys/user/list',
      params
    })
  }
  // 用户新增或者修改
  static userSave(params: any) {
    return request.post<any>({
      url: '/sys/user/save',
      params
    })
  }
  // 告警模板删除
  static userDel(params: any) {
    return request.del<any>({
      url: '/sys/user/delete',
      params
    })
  }

  //卡片统计
  static superCard(params: any) {
    return request.get<any>({
      url: '/sys/dashboard/super/card',
      params
    })
  }

  //探针qps统计
  static qps(params: any) {
    return request.get<any>({
      url: '/sys/dashboard/super/qps',
      params
    })
  }

  //告警项目统计
  static projectAlarmGroup(params: any) {
    return request.get<any>({
      url: '/sys/dashboard/super/project/alarm-group',
      params
    })
  }
}
